package HomeWork06;

/**
 * @author 李孟琦
 * @version V1.0
 * @ProjectName:IntelliJ IDEA
 * @PackageName: HomeWork06
 * @ClassName: 006
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @date 2019/10/9 16:18
 * @Copyright 李孟琦版权所有
 */
public class Dog {
    /*
    * 6.使用面向对象的思想，编写自定义描述狗的信息。设定属性包括：品种，年龄，性别，名字；方法包括：叫，跑。
    要求：
    1) 设置属性的私有访问权限，通过公有的getter和setter方法实现对属性的访问
    2) 限定性别只能有“雌性”和“雄性”，如果无效输入进行提示，默认设置“雄性”。
    3) 设置构造函数实现对属性赋值
    4) 叫和跑的方法，描述不同的行为方式。
    6) 编写测试类，测试狗类的对象及相关方法（测试数据信息自定义）
    * */
    private String kind;
    private int age;
    private String gender;
    private String name;

    public Dog() {

    }

    public Dog(String kind, int age, String gender, String name) {
        this.kind = kind;
        this.age = age;
        this.gender = gender;
        this.name = name;
    }

    public String getKind() {
        return kind;
    }

    public void setKind(String kind) {
        this.kind = kind;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        if (!(gender.equals("雄性") || gender.equals("雌性"))) {
            this.gender = "雄性";
            System.out.println("性别必须为雄性或者雌性，已默认设置为雄性");
        } else {
            this.gender = gender;
        }
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void call() {
        System.out.println("狗叫了一声");
    }

    public void run() {
        System.out.println("狗跑了一段路又回来了");
    }

    public String show() {
        String msg = "狗狗信息展示:\n";
        msg += "狗狗的名字是:" + this.name + ",狗狗的年龄是:" + this.age + "," +
                "狗狗的性别是:" + this.gender + ",狗狗的品种为:" + this.kind;
        return msg;
    }

    public void print(){
        System.out.println("狗狗信息展示:\n"+"狗狗的名字是:" + name + ",狗狗的年龄是:" + age + "," +
                "狗狗的性别是:" + gender + ",狗狗的品种为:" + kind);
    }
}
